-
-
Notifications
You must be signed in to change notification settings - Fork 14.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
llvmPackages_15: init at 15.0.7
#194634
llvmPackages_15: init at 15.0.7
#194634
Conversation
c11356f
to
30373c3
Compare
79aa175
to
8484b4d
Compare
8484b4d
to
123aa5e
Compare
With ab9d3df, After that:
|
Fixed one
Unfortunately there doesn't seem to be a way to communicate this to the I opened a PR for this (#194994) but given that |
123aa5e
to
d0c37e4
Compare
With 974ea1c this now builds on Testing Update:
|
apple_sdk = if stdenv.hostPlatform.isAarch64 then apple_sdk_11_0 else apple_sdk_10_12; |
This is the change in upstream causing the issue: llvm/llvm-project@b945b62
lldb
appears to only use AU_SESSION_FLAG_HAS_GRAPHIC_ACCESS
from audit_session.h
which, worst case, would be easy to stub or patch out.
Fortunately, this header is available in the macOS 10.12 SDK (i.e. nixpkgs.darwin.apple_sdk.sdk.dev
). Is it okay for me to depend on this header? This was the only precedent in nixpkgs
I could find:
install -Dm444 "${lib.getDev apple_sdk.sdk}"/include/libproc.h "$out"/include/libproc.h |
CPU_SUBTYPE_ARM64E
For CPU_SUBTYPE_ARM64E
I am not sure why we're just hitting this issue now; it appears to have been added in LLVM 13? llvm/llvm-project@479b672
Edit: oh, of course; lldb
is marked as broken for LLVM 13 and 14:
broken = stdenv.isDarwin; |
broken = stdenv.isDarwin; # error: use of undeclared identifier 'CPU_SUBTYPE_ARM64E' |
It's not marked as broken in llvmPackages_git
but I'm willing to bet that has the same issue.
Fixed in 040efed and opened #195013 to fix lldb 14 and lldb 13 on macOS x86_64.
None of the patches required any touch-up; the only change of note is: - due to changes in the libc++/libc++abi build (https://reviews.llvm.org/D120719 and https://reviews.llvm.org/D131037) we have to add an extra build option to the libc++ header only build that sidesteps bits of the libc++ build config that assume libc++-abi is present in the build: https://github.com/llvm/llvm-project/blob/4f827318e3e8ccab4ff131e06234caa827e91e4e/libcxx/src/CMakeLists.txt#L255-L256 Rather than maintaining a precise set of build options that let us dodge referencing libc++-abi variables in the libc++ header only build, we set `LIBCXX_CXX_ABI` to `none`, as suggested by @lovesegfault. More discussion about this here: #194634 (comment) Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
See the comments here for context: #194634 (comment) Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
this is a backport of 8afa321 from NixOS#194634 (llvmPackages_15)
…as overridable args backport of d231d18 from NixOS#194634 (llvmPackages_15)
Port of bc4dbee ("llvmPackages_15: updates for LLVM 15"). None of the patches required any touch-up; the only change of note is: - due to changes in the libc++/libc++abi build (https://reviews.llvm.org/D120719 and https://reviews.llvm.org/D131037) we have to add an extra build option to the libc++ header only build that sidesteps bits of the libc++ build config that assume libc++-abi is present in the build: https://github.com/llvm/llvm-project/blob/4f827318e3e8ccab4ff131e06234caa827e91e4e/libcxx/src/CMakeLists.txt#L255-L256 Rather than maintaining a precise set of build options that let us dodge referencing libc++-abi variables in the libc++ header only build, we set `LIBCXX_CXX_ABI` to `none`, as suggested by @lovesegfault. More discussion about this here: #194634 (comment) Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
Port of 4fabcf4 ("llvmPackages_15: apply #211230 to llvmPackages_15"). See the comments here for context: #194634 (comment) Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
Partial port of 00839fe ("llvmPackages_15.compiler-rt: fixes for Darwin") see: #194634 (comment)
Partial port of 00839fe ("llvmPackages_15.compiler-rt: fixes for Darwin") see: NixOS#194634 (comment)
Port of bc4dbee ("llvmPackages_15: updates for LLVM 15"). None of the patches required any touch-up; the only change of note is: - due to changes in the libc++/libc++abi build (https://reviews.llvm.org/D120719 and https://reviews.llvm.org/D131037) we have to add an extra build option to the libc++ header only build that sidesteps bits of the libc++ build config that assume libc++-abi is present in the build: https://github.com/llvm/llvm-project/blob/4f827318e3e8ccab4ff131e06234caa827e91e4e/libcxx/src/CMakeLists.txt#L255-L256 Rather than maintaining a precise set of build options that let us dodge referencing libc++-abi variables in the libc++ header only build, we set `LIBCXX_CXX_ABI` to `none`, as suggested by @lovesegfault. More discussion about this here: NixOS#194634 (comment) Co-authored-by: Bernardo Meurer <bernardo@meurer.org>
Port of 4fabcf4 ("llvmPackages_15: apply NixOS#211230 to llvmPackages_15"). See the comments here for context: NixOS#194634 (comment) Co-authored-by: Weijia Wang <9713184+wegank@users.noreply.github.com>
this is a backport of 8afa321 from NixOS#194634 (llvmPackages_15)
…as overridable args backport of d231d18 from NixOS#194634 (llvmPackages_15)
Description of changes
The commit messages in this PR have more details but at a high level this PR contains a few different kinds of changes:
llvmPackages_15
clang
from this package set to bootstraplibcxx
, sidestepping some of the issues we've seen with older LLVM package setsninja
where possiblex86_64
andaarch64
)lldb
, manpages) and updates (LLVM license, dropping some flags we don't need anymore)TODOs:
staging
from upstreammaster
pkgsLLVM
on darwin evals; I think that's good enough for this PRllvmPackages_latest
(targetingstaging
); 9088010 was dropped from this PRllvmPackages_15
llvmPackages_{9,10,11,12,13,14}
-DCMAKE_CXX_FLAGS
fromclang
15.0.7
#194634 (comment))15.0.7
#194634 (comment))15.0.7
#194634 (comment))staging
, try dropping this patch (postponed)x86_64-darwin
(llvmPackages_15: init at15.0.7
#194634 (comment))llvmPackages_{13,14}
(llvmPackages_{13,14}.lldb: fix build on x86 macOS #195013)15.0.7
#194634 (comment))lit
llvmPackages_{13,14,15}
(llvmPackages_15: init at15.0.7
#194634 (comment))x86_64-darwin
: 3 failing LLVM testsaarch64-darwin
linking against hostCoreFoundation
?roundevenf
only on x86_64? are we expected to have this symbol? (this test doesn't fail onaarch64-darwin
; perhaps this is a manifestation of the host frameworks, i.e. mayberoundevenf
is available in newer SDKs?)enablePolly
inllvmPackages_{12,13,14}
libclang-rt
and test againstclangNoLibc
(with lsan/asan/ubsan/fuzzer variants tested too)libc++abi.so
didn't seem to be linked against olderlibc++abi
on non-darwin anyways (where the default stdenv wasn't LLVM based) and now we unconditionally use the clang from the same package set which haslibcxx
set tonull
and thus doesn't try to link in anylibc++abi
enabledShared
inlibcxxabi
) that looks at the output ofllvm-readelf --needed-libs lib++abi.{dylib/so}
and scans it forlibc++abi
deps that aren't thelibc++abi
being scannedllvmPackages_15
; if this PR is merged first we should update these PRs to changellvmPackages_15
) — not an exhaustive list:_14
yet)Checks:
llvmPackages_15.*
nix path-info --file ./test.nix --derivation
nix path-info --file ./test.nix --derivation --arg systems '[ "aarch64-darwin" "x86_64-darwin" ]' --arg testStdenvPackages '[]'
pkgsCross.x86_64-freebsd.boost
(withllvmPackages = llvmPackages_15
)nix build --expr '(import ./. { system = "x86_64-linux"; overlays = [(f: p: { llvmPackages = f.llvmPackages_15; })]; }).pkgsCross.x86_64-freebsd.boost'
libcxx
nixpkgs-review
llvmPackages_latest
Closes #191132.
Things done
sandbox = true
set innix.conf
? (See Nix manual)nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)nixos/doc/manual/md-to-db.sh
to update generated release notes